capture log close
log using $log/AED_dataprep_14_data_sample, text replace

clear
set maxvar 10000
set matsize 800
set more off

set trace off
   

 /* ------------------------------------------------------------------------------------ */
/* --- Prepare dataset for analysis ---------------------------------------------------- */
/* ------------------------------------------------------------------------------------ */ 
   
   
foreach iebversion in v901 {
		
		*Merge inflow years and keep one entry per person
		use $data/final_data_2005_`iebversion'
		append using $data/final_data_2006_`iebversion'
		append using $data/final_data_2007_`iebversion'
		append using $data/final_data_2008_`iebversion'
		 
		sort iza_id
		set seed 123456789
		by iza_id: gen random = uniform()
		sort iza_id random
		by iza_id: drop if _n > 1
		drop random
		
		save $data/data_est, replace
		
		*Merge outcomes on mobility assistance within 2 years
		use $data/data_est, clear
		keep iza_id iza_eintrittd
		rename iza_id persnr
		joinby persnr using $orig/AED_9310_v1_mobi,unmatched(master)
		tab _merge
		drop _merge
		
		*Observation period: 2 years after entry
		drop if begorig<iza_eintrittd
		drop if begorig>iza_eintrittd+730
		
		drop if mobi_art==.
		
		gen bewerbung_ubv_temp=1 if mobi_art ==1
		gen reisekosten_ubv_temp=1 if mobi_art ==2
		gen uebergang_temp=1 if mobi_art ==3
		gen ausruestung_temp=1 if mobi_art ==4
		gen fahrkosten_temp=1 if mobi_art ==5
		gen trennungskosten_temp=1 if mobi_art ==6
		gen umzugskosten_temp=1 if mobi_art ==7
		gen reisekosten_temp=1 if mobi_art ==8
		
		foreach type in bewerbung_ubv reisekosten_ubv uebergang ausruestung fahrkosten trennungskosten umzugskosten reisekosten {
			bys persnr: egen `type'_24 = max(`type'_temp)
		}
		
		bys persnr: keep if _n==1
		rename persnr iza_id
		#d;
		keep iza_id iza_eintrittd
		bewerbung_ubv_24 reisekosten_ubv_24 uebergang_24 ausruestung_24 
		fahrkosten_24 trennungskosten_24 umzugskosten_24 reisekosten_24
		;
		#d cr
		
		tempfile mobihilfe_24
		save `mobihilfe_24'
		
		*Merge outcomes on mobility assistance within 1 year
		use $data/data_est, clear
		keep iza_id iza_eintrittd
		rename iza_id persnr
		joinby persnr using $orig/AED_9310_v1_mobi,unmatched(master)
		tab _merge
		drop _merge
		
		*Zeitraum 2 Jahre nach Eintritt
		drop if begorig<iza_eintrittd
		drop if begorig>iza_eintrittd+365
		
		drop if mobi_art==.
		
		gen bewerbung_ubv_temp=1 if mobi_art ==1
		gen reisekosten_ubv_temp=1 if mobi_art ==2
		gen uebergang_temp=1 if mobi_art ==3
		gen ausruestung_temp=1 if mobi_art ==4
		gen fahrkosten_temp=1 if mobi_art ==5
		gen trennungskosten_temp=1 if mobi_art ==6
		gen umzugskosten_temp=1 if mobi_art ==7
		gen reisekosten_temp=1 if mobi_art ==8
		
		foreach type in bewerbung_ubv reisekosten_ubv uebergang ausruestung fahrkosten trennungskosten umzugskosten reisekosten {
			bys persnr: egen `type'_12 = max(`type'_temp)
		}
		
		bys persnr: keep if _n==1
		rename persnr iza_id
		#d;
		keep iza_id iza_eintrittd
		bewerbung_ubv_12 reisekosten_ubv_12 uebergang_12 ausruestung_12 
		fahrkosten_12 trennungskosten_12 umzugskosten_12 reisekosten_12
		;
		#d cr
		
		tempfile mobihilfe_12
		save `mobihilfe_12'
		
		use $data/data_est, clear
		joinby iza_id iza_eintrittd using `mobihilfe_24', unmatched(master)
		tab _merge
		drop _merge
		
		joinby iza_id iza_eintrittd using `mobihilfe_12', unmatched(master)
		tab _merge
		drop _merge
		
		foreach type in bewerbung_ubv reisekosten_ubv uebergang ausruestung fahrkosten trennungskosten umzugskosten reisekosten {
			replace `type'_12 = 0 if `type'_12 ==.
			replace `type'_24 = 0 if `type'_24 ==.
		}
		
		save $data/data_est,replace
		 
		*Prepare data for border pair fixed effect model
		use $orig/ba_bezirke,clear
		set seed 12346753
		reshape long close_rd_,i(ba) j(nachbar)
		drop if close_rd_==.
			
		bys ba: egen fweight_reg = max(nachbar)
		gen test=1 if close_rd_<ba
		replace test=0 if test==.
		
		gen region_help=1 if ba<100
		replace region_help=0 if region_help==.
		gen close_help=1 if close_rd_<100
		replace close_help=0 if close_help==.
			
		tostring ba close_rd_,replace
		
		gen region2 = substr(ba,1,3) if region_help==0
		replace region2 = "X" + substr(ba,1,2) if region_help==1
		
		gen close_rd2 = substr(close_rd_,1,3) if close_help==0
		replace close_rd2 = "X" + substr(close_rd_,1,2) if close_help==1
		
		gen region_pair=substr(region2,1,3) + substr(close_rd2,1,3) if test==1
		replace region_pair=substr(close_rd2,1,3) + substr(region2,1,3) if test==0
		destring ba, replace
			
		
		
		joinby ba using $data/data_est, unmatched(master)
		tab _merge
		drop _merge	
		
		tab region_pair,g(pair_)
		
		save $data/data_est_border,replace
		
		
		
}
	
	use $orig/BA_Statistik_Summary_short_v2, clear
		tostring monat, replace
		gen jahr = substr(monat,1,4)
		destring monat, replace
		destring jahr, replace
		
		sort ba jahr monat
		by ba jahr: egen exits = sum(abg_alo_sgbiii)
		bys ba jahr: keep if _n==1
		keep ba jahr exits monat
		keep if jahr==2006|jahr==2007	
		
		
		joinby ba jahr using $orig/mobihilfen_all, unmatched(master)
		tab _merge
		drop _merge
		
		rename jahr year
		
		gen log_intensity_exits = log((uebergang + ausruestung)/exits)
		keep ba year log_intensity_exits
		replace year = year + 1
		tempfile intensity_exits
		save `intensity_exits'
	
	
		use $orig/kkz_inkar_revision_update.dta, clear
		rename kkz iza_wo_kreis_
		destring iza_wo_kreis_, replace
		
		keep if year==2006|year==2007
		keep iza_wo_kreis_ hheink year
		
		replace year = year + 1
		
		destring hheink, replace
		replace hheink=log(hheink)
		
		
		expand 5 if iza_wo_kreis_==13071
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13002 if _n==2 & iza_wo_kreis_==13071
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13052 if _n==2 & iza_wo_kreis_==13071
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13056 if _n==2 & iza_wo_kreis_==13071
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13055 if _n==2 & iza_wo_kreis_==13071
		
		expand 3 if iza_wo_kreis_==13072
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13051 if _n==2 & iza_wo_kreis_==13072
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13053 if _n==2 & iza_wo_kreis_==13072
		
		expand 4 if iza_wo_kreis_==13073
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13057 if _n==2 & iza_wo_kreis_==13073
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13005 if _n==2 & iza_wo_kreis_==13073
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13061 if _n==2 & iza_wo_kreis_==13073
		
		expand 3 if iza_wo_kreis_==13074
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13006 if _n==2 & iza_wo_kreis_==13074
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13058 if _n==2 & iza_wo_kreis_==13074
		
		expand 4 if iza_wo_kreis_==13075
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13001 if _n==2 & iza_wo_kreis_==13075
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13059 if _n==2 & iza_wo_kreis_==13075
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13062 if _n==2 & iza_wo_kreis_==13075
		
		expand 3 if iza_wo_kreis_==13076
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13060 if _n==2 & iza_wo_kreis_==13076
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=13054 if _n==2 & iza_wo_kreis_==13076
		
		expand 3 if iza_wo_kreis_==3159
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=3152 if _n==2 & iza_wo_kreis_==3159
		bys iza_wo_kreis_ year: replace iza_wo_kreis_=3156 if _n==2 & iza_wo_kreis_==3159
		
		
		tempfile hhink
		save `hhink', replace
	
	
	
	use $orig/koordinaten_kreise.dta, clear
	rename region_kkz  iza_wo_kreis_
		destring iza_wo_kreis_, replace
		
		expand 5 if iza_wo_kreis_==13071
		bys iza_wo_kreis_: replace iza_wo_kreis_=13002 if _n==2 & iza_wo_kreis_==13071
		bys iza_wo_kreis_: replace iza_wo_kreis_=13052 if _n==2 & iza_wo_kreis_==13071
		bys iza_wo_kreis_: replace iza_wo_kreis_=13056 if _n==2 & iza_wo_kreis_==13071
		bys iza_wo_kreis_: replace iza_wo_kreis_=13055 if _n==2 & iza_wo_kreis_==13071
		
		expand 3 if iza_wo_kreis_==13072
		bys iza_wo_kreis_: replace iza_wo_kreis_=13051 if _n==2 & iza_wo_kreis_==13072
		bys iza_wo_kreis_: replace iza_wo_kreis_=13053 if _n==2 & iza_wo_kreis_==13072
		
		expand 4 if iza_wo_kreis_==13073
		bys iza_wo_kreis_: replace iza_wo_kreis_=13057 if _n==2 & iza_wo_kreis_==13073
		bys iza_wo_kreis_: replace iza_wo_kreis_=13005 if _n==2 & iza_wo_kreis_==13073
		bys iza_wo_kreis_: replace iza_wo_kreis_=13061 if _n==2 & iza_wo_kreis_==13073
		
		expand 3 if iza_wo_kreis_==13074
		bys iza_wo_kreis_: replace iza_wo_kreis_=13006 if _n==2 & iza_wo_kreis_==13074
		bys iza_wo_kreis_: replace iza_wo_kreis_=13058 if _n==2 & iza_wo_kreis_==13074
		
		expand 4 if iza_wo_kreis_==13075
		bys iza_wo_kreis_: replace iza_wo_kreis_=13001 if _n==2 & iza_wo_kreis_==13075
		bys iza_wo_kreis_: replace iza_wo_kreis_=13059 if _n==2 & iza_wo_kreis_==13075
		bys iza_wo_kreis_: replace iza_wo_kreis_=13062 if _n==2 & iza_wo_kreis_==13075
		
		expand 3 if iza_wo_kreis_==13076
		bys iza_wo_kreis_: replace iza_wo_kreis_=13060 if _n==2 & iza_wo_kreis_==13076
		bys iza_wo_kreis_: replace iza_wo_kreis_=13054 if _n==2 & iza_wo_kreis_==13076
		
		expand 3 if iza_wo_kreis_==3159
		bys iza_wo_kreis_: replace iza_wo_kreis_=3152 if _n==2 & iza_wo_kreis_==3159
		bys iza_wo_kreis_: replace iza_wo_kreis_=3156 if _n==2 & iza_wo_kreis_==3159
		
		
		
		tempfile coord
		save `coord'
	
	
	
	use $data/data_est_border, clear
	
	*Merge information for alternative intensity measures
	joinby iza_wo_kreis_ year using `hhink', unmatched(master)
	tab _merge
	drop _merge
	
	joinby ba year using `intensity_exits', unmatched(master)
	tab _merge
	drop _merge
	
	
	*Merge coordinates for spatial correlation
	joinby iza_wo_kreis_ using `coord', unmatched(master)
	tab _merge
	drop _merge
	
	qui sum Breite
	replace Breite = r(mean) if Breite==.
	
	qui sum Länge
	replace Länge = r(mean) if Länge==.
	
	save $data/data_est_border, replace
	
log close
			





